home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Add-Ons / HyperCard / CapsKeyDown XFCN 1.0.0 / CapsKeyDown.c < prev    next >
C/C++ Source or Header  |  1996-07-07  |  2KB  |  64 lines

  1. /* ----------------------------------------------------------------------
  2.  
  3.     CapsKeyDown XFCN
  4.     version 1.0.0
  5.     
  6.     Written by: Paul Celestin
  7.     
  8.     Copyright © 1996 Celestin Company, Inc.
  9.     
  10.     This XFCN tells you whether the caps lock key is down or not.
  11.     
  12.     No parameters required!
  13.     
  14.     960707 - 1.0.0 - initial release
  15.  
  16. ---------------------------------------------------------------------- */
  17.  
  18. #include <A4Stuff.h>
  19. #include <HyperXCmd.h>
  20.  
  21. #define PARAMETER_NUMS        0
  22. #define PARAMETER_TEXT        "\pNo parameters required!"
  23.  
  24.  
  25. /* ----------------------------------------------------------------------
  26. prototypes
  27. ---------------------------------------------------------------------- */
  28. void DoIt(XCmdPtr paramPtr);
  29. char LookUp[256];
  30.  
  31.  
  32. /* ----------------------------------------------------------------------
  33. main
  34. ---------------------------------------------------------------------- */
  35. pascal void main(XCmdPtr paramPtr)
  36. {
  37.     Str255 copyright = "\pCopyright © 1996 Celestin Company, Inc.";
  38.     long oldA4 = SetCurrentA4();
  39.     if (paramPtr->paramCount != PARAMETER_NUMS)
  40.     {
  41.         paramPtr->returnValue =
  42.             PasToZero(paramPtr,PARAMETER_TEXT);
  43.     }
  44.     else
  45.     {
  46.         DoIt( paramPtr );
  47.     }
  48.     SetA4(oldA4);
  49. }
  50.  
  51. /* ----------------------------------------------------------------------
  52. DoIt
  53. ---------------------------------------------------------------------- */
  54. void DoIt(XCmdPtr paramPtr)
  55. {
  56.     KeyMap        ourKeyMap;
  57.  
  58.     GetKeys(ourKeyMap);
  59.     if (BitTst(&ourKeyMap,62)) // this is the Caps lock key
  60.         paramPtr->returnValue = PasToZero(paramPtr, "\ptrue");
  61.     else
  62.         paramPtr->returnValue = PasToZero(paramPtr, "\pfalse");
  63. }
  64.